// #include <stdlib.h>
// #include <stdio.h>

// // 回调函数
// void populate_array(int *array, size_t arraySize, int (*getNextValue)(void))
// {
//     for (size_t i = 0; i < arraySize; i++)
//         array[i] = getNextValue();
// }

// // 获取随机值
// int getNextRandomValue(void)
// {
//     return rand();
// }

// int main(void)
// {
//     int myarray[10];
//     populate_array(myarray, 10, getNextRandomValue);
//     for (int i = 0; i < 10; i++)
//     {
//         printf("%d ", myarray[i]);
//     }
//     printf("\n");
//     return 0;
// }
// #include <stdio.h>

// int max(int x, int y)
// {
//     return x > y ? x : y;
// }

// int main(void)
// {
//     /* p 是函数指针 */
//     int (*p)(int, int) = &max; // &可以省略
//     int a, b, c, d;

//     printf("请输入三个数字:");
//     scanf("%d %d %d", &a, &b, &c);

//     /* 与直接调用函数等价，d = max(max(a, b), c) */
//     d = p(p(a, b), c);

//     printf("最大的数字是: %d\n", d);

//     return 0;
// }

// #include <stdio.h>

// void main()
// {
//     int *ip;    /* 一个整型的指针 */
//     double *dp; /* 一个 double 型的指针 */
//     float *fp;  /* 一个浮点型的指针 */
//     char *ch;   /* 一个字符型的指针 */

//     int var = 20; /* 实际变量的声明 */

//     ip = &var; /* 在指针变量中存储 var 的地址 */

//     printf("Address of var variable: %p\n", &var);

//     /* 在指针变量中存储的地址 */
//     printf("Address stored in ip variable: %p\n", ip);

//     /* 使用指针访问值 */
//     printf("Value of *ip variable: %d\n", *ip);

//     int *ptr = NULL;

//     printf("ptr 的地址是 %p\n", ptr);
// }

// #include <stdio.h>

// const int MAX = 3;

// int main()
// {
//     int var[] = {10, 100, 200};
//     int i, *ptr;

//     /* 指针中最后一个元素的地址 */
//     ptr = &var[MAX - 1];
//     for (i = MAX; i > 0; i--)
//     {

//         printf("存储地址：var[%d] = %x\n", i - 1, (unsigned int)(long)ptr);
//         printf("存储值：var[%d] = %d\n", i - 1, *ptr);

//         /* 移动到下一个位置 */
//         ptr--;
//     }
//     return 0;
// }

// #include <stdio.h>

// const int MAX = 3;

// int main()
// {
//     int var[] = {10, 100, 200};
//     int i, *ptr;

//     /* 指针中第一个元素的地址 */
//     ptr = var;
//     for(i=0;i<3;i++)
//     {
//         printf("%p",ptr);
//     }
//     // i = 0;
//     // while (ptr <= &var[MAX - 1])
//     // {

//     //     printf("Address of var[%d] = %x\n", i, (unsigned int)(long)ptr);
//     //     printf("Value of var[%d] = %d\n", i, *ptr);

//     //     /* 指向上一个位置 */
//     //     ptr++;
//     //     i++;
//     // }
//     return 0;
// #include <stdio.h>
// int main()
// {
//     int a = 100, b = 999, temp;
//     int *pa = &a, *pb = &b;
//     printf("a=%d, b=%d\n", a, b);
//     /*****开始交换*****/
//     temp = *pa; //将a的值先保存起来
//     *pa = *pb;  //将b的值交给a
//     *pb = temp; //再将保存起来的a的值交给b
//     /*****结束交换*****/
//     printf("a=%d, b=%d\n", a, b);
//     return 0;
// }
// #include <stdio.h>
// int main()
// {
//     int a = 10, *pa = &a, *paa = &a;
//     double b = 99.9, *pb = &b;
//     char c = '@', *pc = &c;
//     //最初的值
//     printf("&a=%#X, &b=%#X, &c=%#X\n", &a, &b, &c);
//     printf("pa=%#X, pb=%#X, pc=%#X\n", pa, pb, pc);
//     //加法运算
//     pa++;
//     pb++;
//     pc++;
//     printf("pa=%#X, pb=%#X, pc=%#X\n", pa, pb, pc);
//     //减法运算
//     pa -= 2;
//     pb -= 2;
//     pc -= 2;
//     printf("pa=%#X, pb=%#X, pc=%#X\n", pa, pb, pc);
//     //比较运算
//     if (pa == paa)
//     {
//         printf("%d\n", *paa);
//     }
//     else
//     {
//         printf("%d\n", *pa);
//     }
//     return 0;
// }

// #include <stdio.h>

// void main()
// {
//     int num = 2014;
//     int *p = &num;
//     printf("num Address = 0x%x,num=%d\n", (unsigned int)(long)&num, num);
//     printf("p = 0x%x,*p=%d\n", (unsigned int)(long)p, *p);
//     printf("%d\n", *&num);
// }
// #include <stdio.h>
// int main()
// {
//     int i;
//     int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0};
//     int *p = a;
//     for (i = 0; i < 10; i++)
//     {
//         printf("P Value:%d   a Value :%d\n", *(p++), *(a + i));
//     }
//     printf("\n");
//     return 0;
// }
// #include <stdio.h>

// void main()
// {
//     int a; 
//     char b = 'A';
//     scanf("%d",&a);
//     for(int i=0;i<a;i++)
//     {
//         printf("%c",b);
//     }
//     printf("\n");
// }

// #include <stdio.h>
// #include <math.h>

// void main()
// {
//     float a;
//     while(scanf("%f",&a)!=EOF)
//     {
//         a = fabs(a);

//         printf("%.2f\n", a);
//     }
// }

#include<stdio.h>

void main()
{
    //printf("**************************\nHolle world\n**************************\n");
    int a,b,c;
    scanf("%d %d %d",&a,&b,&c);

    if(a<b){
        a = b;
    }
    if(a<c){
        a = c;
    }
    printf("%d",a);
}